#define opMove				0x10001000	"move"
#define opTurn				0x10002000	"turn"
#define opSpin				0x10003000	"spin"
#define opStopSpin			0x10004000	"stop-spin"
#define opShow				0x10005000	"show"
#define opHide				0x10006000	"hide"
#define opCache				0x10007000	"cache"
#define opDontCache			0x10008000	"dont-cache"
#define	opUnknown1			0x10009000	"unk1"
#define	opUnknown2			0x1000A000	"unk2"
#define opMoveNow			0x1000B000	"move-now"
#define opTurnNow			0x1000C000	"turn-now"
#define opShade				0x1000D000	"shade"
#define opDontShade			0x1000E000	"dont-shade
#define opEmitSFX			0x1000F000	"sfx"

#define opWaitForTurn			0x10011000	"wait-for-turn"
#define opWaitForMove			0x10012000	"wait-for-move"
#define opSleep				0x10013000	"sleep"

#define opUnknown3			0x10021000	"unk3"
#define opPushConstant			0x10021001	"pushc"
#define opPushVar			0x10021002	"pushl"
#define opPushStatic			0x10021004	"pushs"
#define opCreateLocalVar		0x10022000	"clv"
#define opUnknown4			0x10023000	"unk4"
#define opPopVar			0x10023002	"popl"
#define opPopStatic			0x10023004	"pops"
#define opStackFlush			0x10024000	"flush"

#define opAdd				0x10031000	"add"
#define opSubtract			0x10032000	"sub"
#define opMultiply			0x10033000	"mul"
#define opDivide			0x10034000	"div"
#define opBitwiseAND			0x10035000	"and"
#define opBitwiseOR			0x10036000	"or"
#define opBitwiseXOR			0x10037000	"xor"
#define opBitwiseNOT			0x10038000 	"not" //('~' operator), formerly unknown 5

#define opRand				0x10041000	"rand"
#define opGetUnitValue			0x10042000	"getuv"
#define opGet				0x10043000	"get"
#define opUnknown5			0x10044000	"unk5"
#define opUnknown6			0x10045000	"unk6"

#define opLess				0x10051000	"setl"
#define opLessOrEqual			0x10052000	"setle"
#define opGreater			0x10053000	"setg"
#define opGreaterOrEqual		0x10054000	"setge"
#define opEqual				0x10055000	"cmp" //should also work with "sete"
#define opNotEqual			0x10056000	"setne"
#define opLogicalAND			0x10057000	"land"
#define opLogicalOR			0x10058000	"lor"
#define opLogicalXOR			0x10059000	"lxor"
#define opLogicalNOT			0x1005A000	"neg"

#define opStartScript			0x10061000	"start"
#define opCallScript			0x10062000	"call"
#define opUnknown7			0x10063000	"unk7"
#define opJump				0x10064000	"jmp"
#define opReturn			0x10065000	"ret"
#define opJumpIfFalse			0x10066000	"jne" //should also work with "jnz"
#define opSignal			0x10067000	"sig"
#define opSetSignalMask			0x10068000	"mask"

#define opExplode			0x10071000	"explode"

#define opSet				0x10082000	"set"
#define opAttachUnit			0x10083000	"attach"
#define opDropUnit			0x10084000	"drop"

#define opUnknown8			0x02800000	"unk8"

//also i need a "db", "dw" and "ddw" and possibly a "nop", which will output 0x0l but nop isn't really required

example:

turn turret to x-axis <heading> speed <20>

pushl heading
pushc 20
ddw "10002000" //output as 0x10002000
ddw turret
ddw x-axis
